CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)

GAddSource(GBusyWait.h					LISTS SourceList HeaderList)
GAddSource(GBusyWait.cpp				LISTS SourceList)
	
GAddSource(GConditionVar.h				LISTS SourceList HeaderList)
GAddSource(GConditionVar_Win32.cpp		LISTS SourceList PLATFORMS Windows)
GAddSource(GConditionVar.cpp			LISTS SourceList)
	
GAddSource(GCriticalSection.h			LISTS SourceList HeaderList)
GAddSource(GCriticalSection_Win32.cpp	LISTS SourceList PLATFORMS Windows)
GAddSource(GCriticalSection.cpp			LISTS SourceList)
	
GAddSource(GEvent.h						LISTS SourceList HeaderList)
GAddSource(GEvent_Win32.cpp				LISTS SourceList PLATFORMS Windows)
GAddSource(GEvent.cpp					LISTS SourceList)
	
GAddSource(GMutex.h						LISTS SourceList HeaderList)
GAddSource(GMutex_Win32.cpp				LISTS SourceList PLATFORMS Windows)
GAddSource(GMutex.cpp					LISTS SourceList)
	
GAddSource(GProfiler.h					LISTS SourceList HeaderList)
GAddSource(GProfiler.cpp				LISTS SourceList)
	
GAddSource(GRWLock.h					LISTS SourceList HeaderList)
GAddSource(GRWLock_Win32.cpp			LISTS SourceList PLATFORMS Windows)
GAddSource(GRWLock.cpp					LISTS SourceList)
	
GAddSource(GScopedLock.h				LISTS SourceList HeaderList)

GAddSource(GSemaphore.h					LISTS SourceList HeaderList)
GAddSource(GSemaphore_Win32.cpp			LISTS SourceList PLATFORMS Windows)
GAddSource(GSemaphore.cpp				LISTS SourceList)

GAddSource(GSpinMutex.h					LISTS SourceList HeaderList)
GAddSource(GSpinMutex.cpp				LISTS SourceList)

GAddSource(GSynchronizer.h				LISTS SourceList HeaderList)
GAddSource(GSynchronizer_Win32.cpp		LISTS SourceList PLATFORMS Windows)
GAddSource(GSynchronizer.cpp			LISTS SourceList)

GAddSource(GThread.h					LISTS SourceList HeaderList)
GAddSource(GThread_Win32.cpp			LISTS SourceList PLATFORMS Windows)
GAddSource(GThread.cpp					LISTS SourceList)

GAddLibrary(GThread HEADERS ${HeaderList} SOURCES ${SourceList})

GLinkLibrary(GThread LIBS GUtilities)

GGroupProject(GThread "Foundation")